Index: kconfig/Makefile
===================================================================
--- kconfig.orig/Makefile
+++ kconfig/Makefile
@@ -205,7 +205,35 @@ qconf-cxxobjs	:= qconf.o
 qconf-objs	:= zconf.tab.o
 gconf-objs	:= gconf.o zconf.tab.o
 
-hostprogs-y := conf nconf mconf kxgettext qconf gconf
+hostprogs-y := conf
+
+ifeq ($(MAKECMDGOALS),nconf)
+	hostprogs-y += nconf
+endif
+
+ifeq ($(MAKECMDGOALS),mconf)
+	hostprogs-y += mconf
+endif
+
+ifeq ($(MAKECMDGOALS),update-po-config)
+	hostprogs-y += kxgettext
+endif
+
+ifeq ($(MAKECMDGOALS),qconf)
+	qconf-target := 1
+endif
+
+ifeq ($(MAKECMDGOALS),gconf)
+	gconf-target := 1
+endif
+
+ifeq ($(qconf-target),1)
+	hostprogs-y += qconf
+endif
+
+ifeq ($(gconf-target),1)
+	hostprogs-y += gconf
+endif
 
 targets		+= zconf.lex.c
 clean-files	:= qconf.moc .tmp_qtcheck .tmp_gtkcheck
@@ -243,7 +271,7 @@ HOSTLOADLIBES_nconf	= $(shell \
 				|| echo "-lmenu -lpanel -lncurses"  )
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
-ifeq ($(MAKECMDGOALS),xconfig)
+ifeq ($(MAKECMDGOALS),qconf)
 $(obj)/.tmp_qtcheck: $(src)/Makefile
 -include $(obj)/.tmp_qtcheck
 
@@ -270,9 +298,8 @@ $(obj)/.tmp_qtcheck:
 	echo "KC_QT_MOC=$$moc" >> $@
 endif
 
+ifeq ($(MAKECMDGOALS),gconf)
 $(obj)/gconf.o: $(obj)/.tmp_gtkcheck
-
-ifeq ($(MAKECMDGOALS),gconfig)
 -include $(obj)/.tmp_gtkcheck
 
 # GTK+ needs some extra effort, too...
@@ -300,11 +327,8 @@ $(obj)/zconf.tab.o: $(obj)/zconf.lex.c
 
 $(obj)/qconf.o: $(obj)/qconf.moc
 
-quiet_cmd_moc = MOC     $@
-      cmd_moc = $(KC_QT_MOC) -i $< -o $@
-
 $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck
-	$(call cmd,moc)
+	$(KC_QT_MOC) -i $< -o $@
 
 # Extract gconf menu items for i18n support
 $(obj)/gconf.glade.h: $(obj)/gconf.glade
